Page({
  data: {
    categories: [
      { id: 1, name: '推荐' },
      { id: 2, name: '家电' },
      { id: 3, name: '手机' },
      { id: 4, name: '平板' },
      { id: 5, name: '电脑' },
      { id: 6, name: '智能穿戴' },
      { id: 7, name: '其他' }
    ],
    activeCategoryId: 1,
    banners: [
      { id: 1, img: 'https://img.icons8.com/color/480/000000/camping-tent.png' }
    ],
    troubleshootList: [],
    quickDiagnosis: [
      {
        id: 1,
        name: '设备无法开机',
        icon: 'https://img.icons8.com/color/96/hourglass-sand-top.png',
        advice: '请检查电源连接、长按电源键10秒尝试强制开机。如仍无法开机，建议联系售后。',
        reason: '电池无电、主板故障、电源适配器损坏等。'
      },
      {
        id: 2,
        name: '屏幕显示异常',
        icon: 'https://img.icons8.com/color/96/monitor.png',
        advice: '请检查屏幕连接线是否松动，尝试重启设备。如仍异常，建议联系专业维修。',
        reason: '显示屏损坏、连接线松动、主板故障等。'
      },
      {
        id: 3,
        name: '充电问题',
        icon: 'https://img.icons8.com/ios-filled/100/4caf50/battery-charging.png',
        advice: '请检查充电器和数据线是否完好，尝试更换插座。如仍无法充电，建议更换充电器或联系售后。',
        reason: '充电器损坏、数据线损坏、充电口松动、电池老化等。'
      },
      {
        id: 4,
        name: '网络连接',
        icon: 'https://img.icons8.com/color/96/wifi.png',
        advice: '请检查WiFi密码是否正确，重启路由器或设备。如仍无法连接，建议联系网络服务商。',
        reason: '路由器故障、网络设置错误、信号弱等。'
      }
    ],
    showDialog: false,
    dialogTitle: '',
    dialogAdvice: '',
    dialogReason: ''
  },

  onLoad() {
    this.loadTroubleshootList(this.data.activeCategoryId);
  },

  onCategoryTap(e) {
    const id = e.currentTarget.dataset.id;
    this.setData({ activeCategoryId: id });
    this.loadTroubleshootList(id);
  },

  loadTroubleshootList(categoryId) {
    let troubleshoots = [];
    switch (Number(categoryId)) {
      case 2: // 家电
        troubleshoots = [
          {
            id: 101,
            name: '空调不制冷',
            description: '检查遥控器设置、滤网清洁、制冷剂是否充足',
            icon: 'https://img.icons8.com/color/96/000000/air-conditioner.png',
            advice: '请检查遥控器是否设置为制冷模式，清洁空调滤网，检查制冷剂是否充足。如仍无效，建议联系专业维修。',
            reason: '遥控器设置错误、滤网堵塞、制冷剂不足、压缩机故障等。'
          },
          {
            id: 102,
            name: '洗衣机不排水',
            description: '检查排水管是否堵塞、排水泵是否正常工作',
            icon: 'https://img.icons8.com/color/96/000000/washing-machine.png',
            advice: '请检查排水管是否堵塞，排水泵是否工作正常。如仍无法排水，建议联系售后。',
            reason: '排水管堵塞、排水泵损坏、控制板故障等。'
          },
          {
            id: 103,
            name: '电视无信号',
            description: '检查天线连接、信号源选择、HDMI线连接',
            icon: 'https://img.icons8.com/color/96/000000/tv.png',
            advice: '请检查天线或信号线连接是否牢固，信号源选择是否正确。如仍无信号，建议联系专业维修。',
            reason: '信号线松动、信号源选择错误、主板故障等。'
          }
        ];
        break;
      case 3: // 手机
        troubleshoots = [
          {
            id: 201,
            name: '手机无法开机',
            description: '检查电池电量、充电器连接、强制重启',
            icon: 'https://img.icons8.com/color/96/000000/smartphone-tablet.png',
            advice: '请检查电池电量，尝试长按电源键强制重启。如仍无法开机，建议联系售后。',
            reason: '电池无电、主板故障、电源键损坏等。'
          },
          {
            id: 202,
            name: '屏幕触摸失灵',
            description: '清洁屏幕、检查保护膜、重启设备',
            icon: 'https://img.icons8.com/color/96/000000/touchscreen-smartphone.png',
            advice: '请清洁屏幕，移除保护膜，重启设备。如仍失灵，建议联系专业维修。',
            reason: '屏幕损坏、排线松动、主板故障等。'
          },
          {
            id: 203,
            name: '电池耗电快',
            description: '检查后台应用、屏幕亮度、网络设置',
            icon: 'https://img.icons8.com/ios-filled/100/4caf50/battery--v1.png',
            advice: '请关闭不必要的后台应用，降低屏幕亮度，检查网络设置。如仍耗电快，建议更换电池。',
            reason: '电池老化、后台应用过多、系统异常等。'
          }
        ];
        break;
      case 4: // 平板
        troubleshoots = [
          {
            id: 301,
            name: '平板无法充电',
            description: '检查充电器、数据线、充电接口',
            icon: 'https://img.icons8.com/ios-filled/100/4caf50/tablet.png',
            advice: '请检查充电器和数据线是否完好，清理充电口。如仍无法充电，建议联系售后。',
            reason: '充电器损坏、数据线损坏、充电口松动等。'
          },
          {
            id: 302,
            name: '应用闪退',
            description: '更新应用、清理缓存、重启设备',
            icon: 'https://img.icons8.com/color/96/000000/application-window.png',
            advice: '请更新应用版本，清理缓存，重启设备。如仍闪退，建议卸载重装或联系开发者。',
            reason: '应用兼容性问题、缓存异常、系统异常等。'
          }
        ];
        break;
      case 5: // 电脑
        troubleshoots = [
          {
            id: 401,
            name: '电脑蓝屏',
            description: '检查内存条、硬盘、驱动程序',
            icon: 'https://img.icons8.com/color/96/000000/computer-support.png',
            advice: '请检查内存条、硬盘连接，更新驱动程序。如仍蓝屏，建议联系专业维修。',
            reason: '内存条松动、硬盘故障、驱动冲突、系统异常等。'
          },
          {
            id: 402,
            name: '无法连接网络',
            description: '检查网线、WiFi设置、网络适配器',
            icon: 'https://img.icons8.com/color/96/000000/ethernet-on.png',
            advice: '请检查网线连接，重启路由器，检查网络适配器。如仍无法连接，建议联系网络服务商。',
            reason: '网线损坏、适配器故障、路由器异常等。'
          },
          {
            id: 403,
            name: '系统运行缓慢',
            description: '清理垃圾文件、关闭后台程序、升级内存',
            icon: 'https://img.icons8.com/color/96/000000/maintenance.png',
            advice: '请清理垃圾文件，关闭不必要的后台程序，升级内存。如仍缓慢，建议重装系统。',
            reason: '内存不足、后台程序过多、系统异常等。'
          }
        ];
        break;
      case 6: // 智能穿戴
        troubleshoots = [
          {
            id: 501,
            name: '手环无法同步',
            description: '检查蓝牙连接、应用权限、设备配对',
            icon: 'https://img.icons8.com/ios-filled/100/4caf50/smart-watch.png',
            advice: '请检查蓝牙是否开启，应用权限是否允许。如仍无法同步，建议重新配对或重启设备。',
            reason: '蓝牙未开启、权限未授权、设备异常等。'
          },
          {
            id: 502,
            name: '心率监测异常',
            description: '检查佩戴位置、传感器清洁、重启设备',
            icon: 'https://img.icons8.com/color/96/000000/heart-with-pulse.png',
            advice: '请调整佩戴位置，清洁传感器，重启设备。如仍异常，建议联系售后。',
            reason: '佩戴不当、传感器脏污、设备故障等。'
          }
        ];
        break;
      case 7: // 其他
        troubleshoots = [
          {
            id: 601,
            name: '遥控器失灵',
            description: '更换电池、清洁按键、检查红外发射器',
            icon: 'https://img.icons8.com/color/96/000000/remote-control.png',
            advice: '请更换电池，清洁按键，检查红外发射器。如仍失灵，建议更换遥控器。',
            reason: '电池没电、按键损坏、红外发射器故障等。'
          },
          {
            id: 602,
            name: '设备过热',
            description: '检查散热孔、环境温度、使用时间',
            icon: 'https://img.icons8.com/ios-filled/100/ff9800/temperature.png',
            advice: '请检查散热孔是否堵塞，降低环境温度，减少连续使用时间。如仍过热，建议联系售后。',
            reason: '散热不良、环境温度高、长时间高负载运行等。'
          }
        ];
        break;
      default: // 推荐
        troubleshoots = [
          {
            id: 101,
            name: '空调不制冷',
            description: '检查遥控器设置、滤网清洁、制冷剂是否充足',
            icon: 'https://img.icons8.com/color/96/000000/air-conditioner.png',
            advice: '请检查遥控器是否设置为制冷模式，清洁空调滤网，检查制冷剂是否充足。如仍无效，建议联系专业维修。',
            reason: '遥控器设置错误、滤网堵塞、制冷剂不足、压缩机故障等。'
          },
          {
            id: 201,
            name: '手机无法开机',
            description: '检查电池电量、充电器连接、强制重启',
            icon: 'https://img.icons8.com/color/96/000000/smartphone-tablet.png',
            advice: '请检查电池电量，尝试长按电源键强制重启。如仍无法开机，建议联系售后。',
            reason: '电池无电、主板故障、电源键损坏等。'
          },
          {
            id: 401,
            name: '电脑蓝屏',
            description: '检查内存条、硬盘、驱动程序',
            icon: 'https://img.icons8.com/color/96/000000/computer-support.png',
            advice: '请检查内存条、硬盘连接，更新驱动程序。如仍蓝屏，建议联系专业维修。',
            reason: '内存条松动、硬盘故障、驱动冲突、系统异常等。'
          }
        ];
    }
    this.setData({ troubleshootList: troubleshoots });
  },

  onSelectTroubleshoot(e) {
    const item = e.currentTarget.dataset.troubleshoot;
    wx.navigateTo({
      url: `/pages/productSelect/troubleshootDetail/troubleshootDetail?title=${encodeURIComponent(item.name)}&advice=${encodeURIComponent(item.advice)}&reason=${encodeURIComponent(item.reason)}`
    });
  },

  onDialogClose() {
    this.setData({ showDialog: false });
  },

  onDialogHelped() {
    wx.showToast({ title: '很高兴帮到您！', icon: 'success' });
    this.setData({ showDialog: false });
  },

  onDialogNoHelp() {
    wx.showToast({ title: '我们会继续优化建议', icon: 'none' });
    this.setData({ showDialog: false });
  },

  onQuickDiagnosis(e) {
    const item = e.currentTarget.dataset.diagnosis;
    wx.navigateTo({
      url: `/pages/productSelect/troubleshootDetail/troubleshootDetail?title=${encodeURIComponent(item.name)}&advice=${encodeURIComponent(item.advice)}&reason=${encodeURIComponent(item.reason)}`
    });
  }
}); 